﻿#pragma warning disable IDE1006
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WUDI.ECharts.Toolbox.Feature.SaveAsImage
{
	/// <summary>
	/// 保存为图片。
	/// </summary>
	public class SaveAsImage
	{

		/// <summary>
		/// 保存的图片格式
		/// <para>
		/// 如果 renderer 的类型在 初始化图表
		/// </para>
		/// <para>
		/// api.html#echarts.init 时被设为 canvas（默认），则支持 png（默认）和 jpeg
		/// </para>
		/// <para>
		/// 如果 renderer 的类型在 初始化图表
		/// </para>
		/// <para>
		/// api.html#echarts.init 时被设为 svg，则 type 只支持 svg（svg 格式的图片从 v4.8.0 开始支持）
		/// </para>
		/// </summary>
		public dynamic type { get; set; }  = "png";

		/// <summary>
		/// 保存的文件名称，默认使用 title.text。#title.text 作为名称。
		/// </summary>
		public dynamic name { get; set; } 

		/// <summary>
		/// 保存的图片背景色，默认使用 backgroundColor
		/// <para>
		/// #backgroundColor，如果backgroundColor不存在的话会取白色
		/// </para>
		/// </summary>
		public dynamic backgroundColor { get; set; }  = "auto";

		/// <summary>
		/// 如果图表使用了 echarts.connect
		/// <para>
		/// api.html#echarts.connect 对多个图表进行联动，则在导出图片时会导出这些联动的图表
		/// </para>
		/// <para>
		/// 该配置项决定了图表与图表之间间隙处的填充色
		/// </para>
		/// </summary>
		public dynamic connectedBackgroundColor { get; set; }  = "#fff";

		/// <summary>
		/// 保存为图片时忽略的组件列表，默认忽略工具栏。
		/// </summary>
		public dynamic excludeComponents { get; set; }  = "['toolbox']";

		/// <summary>
		/// 是否显示该工具。
		/// </summary>
		public dynamic show { get; set; }  = true;

		public dynamic title { get; set; }  = "保存为图片";

		/// <summary>
		/// 可以通过 image://url 设置为图片，其中 URL 为图片的链接，或者 dataURI
		/// <para>
		/// 可以通过 path:// 将图标设置为任意的矢量路径
		/// </para>
		/// <para>
		/// 这种方式相比于使用图片的方式，不用担心因为缩放而产生锯齿或模糊，而且可以设置为任意颜色
		/// </para>
		/// <para>
		/// 路径图形会自适应调整为合适的大小
		/// </para>
		/// <para>
		/// 路径的格式参见 SVG PathData
		/// </para>
		/// <para>
		/// <see href="http://www.w3.org/TR/SVG/paths.html#PathData"/>
		/// </para>
		/// <para>
		/// 可以从 Adobe Illustrator 等工具编辑导出
		/// </para>
		/// </summary>
		public dynamic icon { get; set; } 

		/// <summary>
		/// 保存为图片 icon 样式设置
		/// <para>
		/// 由于 icon 的文本信息只在 icon hover 时候才显示，所以文字相关的配置项请在 emphasis 下设置
		/// </para>
		/// </summary>
		public WUDI.ECharts.Toolbox.Feature.SaveAsImage.IconStyle iconStyle { get; set; } 

		public WUDI.ECharts.Toolbox.Feature.SaveAsImage.Emphasis.Emphasis emphasis { get; set; } 

		/// <summary>
		/// 保存图片的分辨率比例，默认跟容器相同大小，如果需要保存更高分辨率的，可以设置为大于 1 的值，例如 2。
		/// </summary>
		public dynamic pixelRatio { get; set; }  = 1;

	}
}